package master;

import java.util.ArrayList;
import java.util.List;

/**
 * 格雷编码
 * n位格雷编码一共有2**n个正数组成的序列
 *
 * @author chenyw
 * @date 2022/8/2 11:24
 */
public class M89grayCode {
    public List<Integer> grayCode(int n) {
        List<Integer> res = new ArrayList<Integer>();
        for (int i = 0; i < (1 << n); i++) {
            res.add(i ^ (i / 2));
        }
        return res;
    }
}
